繼昨日的挫敗,我決定今天就來研究一下資料庫遷移了
原本都習慣要先到phpmyadmin
建好資料表,
結果發現laravel
是要用make artisan migrate
,
先到database\migrations\..
設定好資料結構
再下migrate
指令,就可以了
這樣一來在搬移主機等過程中,也會比較輕鬆。
要開始建立東西就是要打開cmd
,
我第一次跟cmd
這麼熟哈哈
第一次這麼頻繁的使用cmd
,也第一次知道cmd
可以這樣用
建立遷移檔要用使用 Artisan
的 migrate:make
命令建立遷移檔:
php artisan migrate:make create_users_table
在昨天的Day13 【Laravel 學習歷程】- 建立Model模型(上)以及
Day15 【Laravel 學習歷程】- 建立Laravel Authentication認證登入中有提到一點,
而那個方式是建立model的時候同步建立遷移檔php artisan make:model Role --migration
建立完遷移檔進入
database\migrations
找到建立的table
進去那裏面要做什麼後面會說哈哈
然後再cmd一個php artisan migrate
就會幫你把資料表遷移填充上去指定的db了
遷移檔會建立在 app/database/migrations
目錄下,
檔名會包含時間戳記,在執行遷移時用來決定順序。
你也可以在建立遷移命令加上 --path
參數。路徑要相對於應用程式所在的根目錄。
php artisan migrate:make foo --path=app/migrations
--table
和 --create
參數可以用來指定資料表名稱,以及遷移檔是否要建立新的資料表。
php artisan migrate:make add_votes_to_user_table --table=users
or
php artisan migrate:make create_users_table --create=users
當我資料結構也都設定完成了,要怎麼把遷移檔同步上去餒?
這個時候一樣再度打開cmd
下指令
php artisan migrate
他會把所有
未完成遷移的資料都遷移到指定DB
還有一種是,設定只遷移特定路徑
的未遷移資料就好
php artisan migrate --path=app/foo/migrations
喔這個太厲害了,居然還可以推回遷移
這個我完全需要學起來
狀態一:推回上一次
的遷移
php artisan migrate:rollback
狀態二:推回所有
遷移
php artisan migrate:reset
狀態三:推回所有
遷移並且再執行一次
php artisan migrate:refresh
或者加上--seed
php artisan migrate:refresh --seed
明天來實作試試看了哈哈